From: iap10@labyrinth.cl.cam.ac.uk Date: Tue, 27 Apr 2004 15:34:25 +0000 (+0000) Subject: bitkeeper revision 1.843.1.1 (408e7d81yryzADIp-4VdSvsB20fl9w) X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~18241^2~1 X-Git-Url: https://dgit.raspbian.org/%22http:/www.example.com/cgi/%22https://%22%22/%22http:/www.example.com/cgi/%22https:/%22%22?a=commitdiff_plain;h=34b05aad253978a699f149cced553918f71a181e;p=xen.git bitkeeper revision 1.843.1.1 (408e7d81yryzADIp-4VdSvsB20fl9w) more shadow log dirty stuff. --- diff --git a/xen/common/memory.c b/xen/common/memory.c index 420eb1ea31..2e5ef18102 100644 --- a/xen/common/memory.c +++ b/xen/common/memory.c @@ -1060,6 +1060,12 @@ int do_mmu_update(mmu_update_t *ureqs, int count) machine_to_phys_mapping[pfn] = req.val; okay = 1; + + /* if in log dirty shadow mode, mark the corresponding + psuedo-physical page as dirty */ + if( unlikely(current->mm.shadow_mode == SHM_logdirty) ) + mark_dirty( ¤t->mm, pfn ); + put_page(&frame_table[pfn]); break; diff --git a/xen/net/dev.c b/xen/net/dev.c index 31d80e2a14..aefd3a0df1 100644 --- a/xen/net/dev.c +++ b/xen/net/dev.c @@ -555,8 +555,11 @@ void deliver_packet(struct sk_buff *skb, net_vif_t *vif) // avoid the fault later *sptr = new_pte; - unmap_domain_mem(sptr); + + if( p->mm.shadow_mode == SHM_logdirty ) + mark_dirty( &p->mm, new_page-frame_table ); + put_shadow_status(&p->mm); }